classdef dotsAllObjectManagersTestable < dotsAllObjectManagers
    % Concrete subclass of dotsAllObjectManagers for testing. A dummy.
    
    properties
        acknowledgePropertyChangeFunction;
    end
    
    methods
        function acknowledgePropertyChange(self, object, property)
            self.acknowledgePropertyChange@dotsAllObjectManagers(object, property);
            if ~isempty(self.acknowledgePropertyChangeFunction)
                feval(self.acknowledgePropertyChangeFunction, object, property);
            end
        end
    end
    
    methods (Access = private)
        function self = dotsAllObjectManagersTestable
            self.initialize;
        end
    end
    
    methods (Static)
        function om = theObject
            persistent self
            if isempty(self) || ~isvalid(self)
                self = dotsAllObjectManagersTestable;
            end
            om = self;
        end
        
        function reset
            self = dotsAllObjectManagersTestable.theObject;
            self.initialize;
        end
        
        function g = gui
            self = dotsAllObjectManagersTestable.theObject;
            g = self.managedObjects.gui;
        end
    end
end